<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org">

<head>
    <meta charset="utf-8">
    <title>商城后台</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" th:href="@{/lib/layui-v2.5.5/css/layui.css}" media="all">
    <link rel="stylesheet" th:href="@{/lib/font-awesome-4.7.0/css/font-awesome.min.css}" media="all">
    <link rel="stylesheet" th:href="@{/css/public.css}" media="all">
    <style>
        .layui-card {border:1px solid #f2f2f2;border-radius:5px;}
        .icon {margin-right:10px;color:#1aa094;}
        .icon-cray {color:#ffb800!important;}
        .icon-blue {color:#1e9fff!important;}
        .icon-tip {color:#ff5722!important;}
        .layuimini-qiuck-module {text-align:center;margin-top: 10px}
        .layuimini-qiuck-module a i {display:inline-block;width:100%;height:60px;line-height:60px;text-align:center;border-radius:2px;font-size:30px;background-color:#F8F8F8;color:#333;transition:all .3s;-webkit-transition:all .3s;}
        .layuimini-qiuck-module a cite {position:relative;top:2px;display:block;color:#666;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:14px;}
        .welcome-module {width:100%;height:210px;}
        .panel {background-color:#fff;border:1px solid transparent;border-radius:3px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}
        .panel-body {padding:10px}
        .panel-title {margin-top:0;margin-bottom:0;font-size:12px;color:inherit}
        .label {display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em;margin-top: .3em;}
        .layui-red {color:red}
        .main_btn > p {height:40px;}
        .layui-bg-number {background-color:#F8F8F8;}
        .layuimini-notice:hover {background:#f6f6f6;}
        .layuimini-notice {padding:7px 16px;clear:both;font-size:12px !important;cursor:pointer;position:relative;transition:background 0.2s ease-in-out;}
        .layuimini-notice-title,.layuimini-notice-label {
            padding-right: 70px !important;text-overflow:ellipsis!important;overflow:hidden!important;white-space:nowrap!important;}
        .layuimini-notice-title {line-height:28px;font-size:14px;}
        .layuimini-notice-extra {position:absolute;top:50%;margin-top:-8px;right:16px;display:inline-block;height:16px;color:#999;}
    </style>
</head>
<body>
<div class="layuimini-container">
    <div class="layuimini-main">
        <div class="layui-row layui-col-space15">
            <div style="margin-left:10px"  th:each="component : ${welcomeComponent}" th:utext="${component}" >

            </div>
        </div>
    </div>
</div>
<script th:src="@{/lib/layui-v2.5.5/layui.js}" charset="utf-8"></script>
<script th:src="@{/js/lay-config.js?v=2.0.0}" charset="utf-8"></script>
<script>
    layui.use(['layer', 'miniTab','echarts'], function () {
        var $ = layui.jquery,
            layer = layui.layer,
            miniTab = layui.miniTab,
            echarts = layui.echarts;
        var onlineUserChartLoadding;
        var operateChartLoadding;

        miniTab.listen();

        /**
         * 查看公告信息
         **/
        $('body').on('click', '.layuimini-notice', function () {
            var title = $(this).children('.layuimini-notice-title').text(),
                noticeTime = $(this).children('.layuimini-notice-extra').text(),
                content = $(this).children('.layuimini-notice-content').html();
            var html = '<div style="padding:15px 20px; text-align:justify; line-height: 22px;border-bottom:1px solid #e2e2e2;background-color: #2f4056;color: #ffffff">\n' +
                '<div style="text-align: center;margin-bottom: 20px;font-weight: bold;border-bottom:1px solid #718fb5;padding-bottom: 5px"><h4 class="text-danger">' + title + '</h4></div>\n' +
                '<div style="font-size: 12px">' + content + '</div>\n' +
                '</div>\n';
            parent.layer.open({
                type: 1,
                title: '系统公告'+'<span style="float: right;right: 1px;font-size: 12px;color: #b1b3b9;margin-top: 1px">'+noticeTime+'</span>',
                area: '300px;',
                shade: 0.8,
                id: 'layuimini-notice',
                btn: ['查看', '取消'],
                btnAlign: 'c',
                moveType: 1,
                content:html,
                success: function (layero) {
                    var btn = layero.find('.layui-layer-btn');
                    btn.find('.layui-layer-btn0').attr({
                        href: 'https://gitee.com/zhongshaofa/layuimini',
                        target: '_blank'
                    });
                }
            });
        });


        function drawOnlineUserCharts(optionRecords) {
            onlineUserChartLoadding = layer.load();
            $.ajax({
                url: "[[@{/online/user/chart/queryAppLoginUserCountList}]]",
                contentType: "application/json; charset=utf-8",
                type: 'POST',
                data: JSON.stringify({}),
                success: function (data) {
                    layer.close(onlineUserChartLoadding);
                    if (data.code == 0) {
                        layer.msg(data.msg);
                        return false;
                    }
                    optionRecords.xAxis.data = [];
                    optionRecords.series[0].data = [];
                    if (data.data != null && data.data.length > 0) {
                        for (var i = 0; i < data.data.length; i++) {
                            var obj = data.data[i];
                            optionRecords.xAxis.data.push(obj.appName);
                            optionRecords.series[0].data.push(obj.loginCount);
                        }
                    }
                    echartsRecords.clear();
                    echartsRecords.setOption(optionRecords);
                },
                complete: function () {
                    layer.close(onlineUserChartLoadding);
                }
            });
        }

        var echartsRecords = null;
        var onlineUserChartsObj = $("#online-user-charts-dev");
        if(onlineUserChartsObj!=null&&onlineUserChartsObj.html()!=null&&onlineUserChartsObj.html()!="") {
            /**
             * 报表功能
             */
            echartsRecords = echarts.init(document.getElementById('online-user-charts'));
            var optionRecords = {
                xAxis: {
                    type: 'category',
                    data: []
                },
                yAxis: {
                    type: 'value',
                    minInterval: 1 //只显示整数
                },
                series: [
                    {
                        type: 'bar',
                        data: [],
                        showBackground: true,
                        backgroundStyle: {
                            color: 'rgba(111, 162, 135, 0.2)'
                        },
                        itemStyle: {
                            normal: {
                                //这里是颜色
                                color: function(params) {
                                    //注意，如果颜色太少的话，后面颜色不会自动循环，最好多定义几个颜色
                                    var colorList = ['#00A3E0','#FFA100', '#ffc0cb', '#CCCCCC', '#BBFFAA','#749f83', '#ca8622'];
                                    return colorList[params.dataIndex]
                                }
                            }
                        }
                    }
                ],
                tooltip: {
                    trigger: 'axis',
                    axisPointer: {
                        type: 'cross',
                        label: {
                            backgroundColor: '#6a7985'
                        }
                    }
                }
            };

            $("#refershOnlineUserCharts").bind("click", function () {

                drawOnlineUserCharts(optionRecords);
            });


            drawOnlineUserCharts(optionRecords);
        }




        function drawOperateCharts(optionRecords) {
            operateChartLoadding = layer.load();
            $.ajax({
                url: "[[@{/operate/log/chart/queryOperateChart}]]",
                contentType: "application/json; charset=utf-8",
                type: 'POST',
                data: JSON.stringify({}),
                success: function (data) {
                    layer.close(operateChartLoadding);
                    if (data.code == 0) {
                        layer.msg(data.msg);
                        return false;
                    }
                    optionRecords.legend.data=data.data.appNames;
                    optionRecords.xAxis.data = data.data.categorys;
                    optionRecords.series = [];
                    if (data.data != null && data.data.datas!=null && data.data.datas.length > 0) {
                        for (var i = 0; i < data.data.datas.length; i++) {
                            var obj = data.data.datas[i];
                            obj.name=obj.appName;
                            obj.type = "line";
                            obj.data = obj.values;
                            optionRecords.series.push(obj);
                        }
                    }
                    operateEchartsRecords.clear();
                    operateEchartsRecords.setOption(optionRecords);
                },
                complete: function () {
                    layer.close(operateChartLoadding);
                }
            });
        }
        var operateEchartsRecords = null;
        var operateChartsObj = $("#operate-charts-dev");
        if(operateChartsObj!=null&&operateChartsObj.html()!=null&&operateChartsObj.html()!="") {
            /**
             * 操作报表功能
             */
            operateEchartsRecords = echarts.init(document.getElementById('operate-charts'), 'walden');
            var operateOptionRecords = {
                tooltip: {
                    trigger: 'axis'
                },
                legend: {
                    data:[]
                },
                grid: {
                    left: '3%',
                    right: '4%',
                    bottom: '3%',
                    containLabel: true
                },
                toolbox: {
                    feature: {
                        saveAsImage: {}
                    }
                },
                xAxis: {
                    type: 'category',
                    boundaryGap: false,
                    data: []
                },
                yAxis: {
                    type: 'value'
                },
                series: [

                ]
            };


            drawOperateCharts(operateOptionRecords);
        }



        // echarts 窗口缩放自适应
        window.onresize = function(){
            if(echartsRecords!=null) {
                echartsRecords.resize();
            }

            if(operateEchartsRecords!=null){
                operateEchartsRecords.resize();
            }
        }

    });
</script>
</body>
</html>
